package mpbe.estructura.secciones.hormigon_armado;

/*
 * Este codigo es software libre y se encuentra licenciado 
 * bajo los términos de la Licencia Pública General de GNU versión 3 
 * según se encuentra publicada por la Free Software Foundation.
 * http://www.gnu.org/licenses/gpl.html
 * 
 * Autor: Martin Pablo Bellanca <martin.bellanca@gmail.com>
 * web: http://mpbe.blogspot.com/
 */

import mpbe.geometria.Punto;

import org.json.simple.JSONObject;


public class Barra_Redonda {
	public double posX;
	public double posY;
	public double diametro;
	
	public Barra_Redonda() {posX = 0; posY = -22; diametro = 12;}
	public Barra_Redonda(double posX, double posY, double diametro) {
		this.posX = posX; this.posY = posY; this.diametro = diametro;}
	
	public void setBarra(double posX, double posY, double diametro) {
		this.posX = posX; this.posY = posY; this.diametro = diametro;}
	public Barra_Redonda getBarra() {return new Barra_Redonda(posX, posY, diametro);}
	public double getArea() {return (Math.PI*diametro*diametro/4);}
	public Punto getPunto() {return new Punto(posX, posY);}
	
	static public double areaBarra(int diametro){return (Math.PI*diametro*diametro/4);}
	
	public void copyInto(Barra_Redonda bb) {
		bb.posX = posX;
		bb.posY = posY;
		bb.diametro = diametro;
	}
	
	//*****************************************************
	// Funciones JSON
	//*****************************************************
	public void put_JSON(JSONObject jo){
		posX = (Double) jo.get("PosX");
		posY = (Double) jo.get("PosY");
		diametro = (Double) jo.get("Diametro");
	}
	public JSONObject get_JSONObject() {
		JSONObject jo = new JSONObject();
		jo.put("PosX", posX);
		jo.put("PosY", posY);
		jo.put("Diametro", diametro);
		return jo;
	}
	public String get_JSONString(int tabs) {
		String res = tabs(tabs)+"{\"PosX\":"+posX+", ";
		res += "\"PosY\":"+posY+", ";
		res += "\"Diametro\":"+diametro+"}";
		return res;
	}
	private String tabs(int can) {
		String str = new String();
		for (int ii=0; ii<can; ii++) str += "   ";
		return str;
	}
}
